This command can be executed only by a process that has an
effective user ID equal to the value of _ssss_hhhh_mmmm______pppp_eeee_rrrr_mmmm_...._cccc_uuuu_iiii_dddd or
_ssss_hhhh_mmmm______pppp_eeee_rrrr_mmmm_...._uuuu_iiii_dddd in the data structure associated with _s_h_m_i_d or
to a process that has the _ssss_uuuu_pppp_eeee_rrrr_----_uuuu_ssss_eeee_rrrr privilege.
_IIII_PPPP_CCCC______RRRR_MMMM_IIII_DDDD Remove the shared memory identifier specified by _s_h_m_i_d from
the system and destroy the shared memory segment and data
structure associated with it. This command can be executed
only by a process that has an effective user ID equal to the
value of _ssss_hhhh_mmmm______pppp_eeee_rrrr_mmmm_...._cccc_uuuu_iiii_dddd or _ssss_hhhh_mmmm______pppp_eeee_rrrr_mmmm_...._uuuu_iiii_dddd in the data structure
associated with _s_h_m_i_d or to a process that has the _ssss_uuuu_pppp_eeee_rrrr_----_uuuu_ssss_eeee_rrrr
privilege.
_SSSS_HHHH_MMMM______LLLL_OOOO_CCCC_KKKK Lock the shared memory segment specified by _s_h_m_i_d in memory.
This command can be executed only by a process that has the
_ssss_uuuu_pppp_eeee_rrrr_----_uuuu_ssss_eeee_rrrr privilege. Locking occurs per address space;
multiple processes or sprocs mapping the area at different
addresses each need to issue the lock (this is primarily an
issue with the per-process page tables).
_SSSS_HHHH_MMMM______UUUU_NNNN_LLLL_OOOO_CCCC_KKKK Unlock the shared memory segment specified by _s_h_m_i_d. This
command can be executed only by a process that has the
_ssss_hhhh_mmmm_cccc_tttt_llll fails if one or more of the following are true:
_EEEE_AAAA_CCCC_CCCC_EEEE_SSSS _c_m_d is equal to _IIII_PPPP_CCCC______SSSS_TTTT_AAAA_TTTT and {READ} operation permission is
denied to the calling process [see _iiii_nnnn_tttt_rrrr_oooo(2)].
_EEEE_IIII_NNNN_VVVV_AAAA_LLLL _s_h_m_i_d is not a valid shared memory identifier.
_EEEE_IIII_NNNN_VVVV_AAAA_LLLL _c_m_d is not a valid command.
_EEEE_IIII_NNNN_VVVV_AAAA_LLLL _c_m_d is _IIII_PPPP_CCCC______SSSS_EEEE_TTTT and _ssss_hhhh_mmmm______pppp_eeee_rrrr_mmmm_...._uuuu_iiii_dddd or _ssss_hhhh_mmmm______pppp_eeee_rrrr_mmmm_...._gggg_iiii_dddd is not valid.
_EEEE_OOOO_VVVV_EEEE_RRRR_FFFF_LLLL_OOOO_WWWW _c_m_d is _IIII_PPPP_CCCC______SSSS_TTTT_AAAA_TTTT and _u_i_d or _g_i_d is too large to be stored in
the structure pointed to by _b_u_f.
_EEEE_PPPP_EEEE_RRRR_MMMM _c_m_d is equal to _IIII_PPPP_CCCC______RRRR_MMMM_IIII_DDDD or _IIII_PPPP_CCCC______SSSS_EEEE_TTTT and the effective user is
not equal to the value of _ssss_hhhh_mmmm______pppp_eeee_rrrr_mmmm_...._cccc_uuuu_iiii_dddd or _ssss_hhhh_mmmm______pppp_eeee_rrrr_mmmm_...._uuuu_iiii_dddd in
the data structure associated with _s_h_m_i_d and the process does
not have the _ssss_uuuu_pppp_eeee_rrrr_----_uuuu_ssss_eeee_rrrr privilege.
_EEEE_PPPP_EEEE_RRRR_MMMM _c_m_d is equal to _SSSS_HHHH_MMMM______LLLL_OOOO_CCCC_KKKK or _SSSS_HHHH_MMMM______UUUU_NNNN_LLLL_OOOO_CCCC_KKKK and the calling
process does not have the _ssss_uuuu_pppp_eeee_rrrr_----_uuuu_ssss_eeee_rrrr privilege.
_EEEE_FFFF_AAAA_UUUU_LLLL_TTTT _b_u_f points to an illegal address.
_EEEE_NNNN_OOOO_MMMM_EEEE_MMMM _c_m_d is equal to _SSSS_HHHH_MMMM______LLLL_OOOO_CCCC_KKKK and there is not enough memory.